#ifndef PUNTO2D_H
#define PUNTO2D_H

#include <QString>
#include "geometria_global.h"
#include "matematicas.h"

class GEOMETRIA_EXPORT Punto2d
{
public:
    Punto2d();
    Punto2d(double x, double y);
    ~Punto2d();

    QString toString() const;

    void setCoordenadas(double x, double y);

    double getX() const { return x; }
    double getY() const { return y; }

    bool esValido() const { return !esNan(x) && !esNan(y); }

    static bool sonIguales(const Punto2d& punto1, const Punto2d& punto2); 
    static Punto2d getPuntoInvalido();
    static double distancia(const Punto2d& punto1, const Punto2d& punto2);

private:
    double x;
    double y;
};

#endif // PUNTO2D_H
